package com.lh.common.entity.admin;

import com.baomidou.mybatisplus.annotation.TableName;
import com.lh.common.entity.state.STATE;
import com.lh.common.enums.AfterStatusEnum;
import com.lh.common.enums.AfterTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.ibatis.type.Alias;
import javax.persistence.Column;
import javax.persistence.Id;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * ovmal_order_after_sale:退货申请
 * @author Administrator 2020-05-09
 */
@TableName("ovmal_order_after_sale")
@Alias("orderAfterSale")
@Data
public class OrderAfterSale implements Serializable {
    @ApiModelProperty(value = "")
    @Id
    @Column(name = "id")
    private Long id;

    @ApiModelProperty(value = "用户id")
    @Column(name = "user_id")
    private Long userId;

    @ApiModelProperty(value = "订单号")
    @Column(name = "order_item")
    private String orderItem;

    @ApiModelProperty(value = "服务单号")
    @Column(name = "after_sale_id")
    private String afterSaleId;

    @ApiModelProperty(value = "服务类型 REFUND:退款;RETURN:退货")
    @Column(name = "type")
    private AfterTypeEnum type;

    @ApiModelProperty(value = "订单状态：PROCESSING->退款处理中；REFUNDSUCCESS:退款成功；RETURNING:退货处理中；TOWAREHOUSE:退货入库中: REFUNDING:退货退款中,RETURNSUCCESS:退货退款成功,REFUSERETURN:拒绝退货退款失败,REFUSEWAREHOUSE:拒绝入库退款失败,REFUSEREFUND:拒绝退款退款失败,RETURNTIMEOUT:退货失败")
    @Column(name = "status")
    private AfterStatusEnum status;

    @ApiModelProperty(value = "退款/退货原因")
    @Column(name = "reason")
    private String reason;

    @ApiModelProperty(value = "备注")
    @Column(name = "remark")
    private String remark;

    @ApiModelProperty(value = "凭证图片，以逗号隔开")
    @Column(name = "proof_pics")
    private String proofPics;

    @ApiModelProperty(value = "退货地址id")
    @Column(name = "addr_id")
    private Long addrId;

    @ApiModelProperty(value = "拒绝退货/入库/退款原因ID")
    @Column(name = "reason_id")
    private Long reasonId;

    @ApiModelProperty(value = "物流公司(配送方式)")
    @Column(name = "re_express_name")
    private String reExpressName;

    @ApiModelProperty(value = "物流单号")
    @Column(name = "re_express_code")
    private String reExpressCode;

    @ApiModelProperty(value = "退款金额")
    @Column(name = "refund_price")
    private BigDecimal refundPrice;

    @ApiModelProperty(value = "")
    @Column(name = "create_time")
    private Date createTime;

    @ApiModelProperty(value = "")
    @Column(name = "update_time")
    private Date updateTime;

    @ApiModelProperty(value = "完成时间")
    @Column(name = "finish_time")
    private Date finishTime;

    @ApiModelProperty(value = "用户首次填写物流时间")
    @Column(name = "user_fill_time_first")
    private Date userFillTimeFirst;

    @ApiModelProperty(value = "用户更新物流次数")
    @Column(name = "user_update_express_times")
    private Integer userUpdateExpressTimes;

    @ApiModelProperty(value = "同意退货时间")
    @Column(name = "agree_time")
    private Date agreeTime;

    /**
     * ovmal_order_after_sale
     */
    private static final long serialVersionUID = 1L;
}
